<?xml version="1.0" encoding="UTF-8"?>
 <grammar xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://relaxng.org/ns/structure/1.0">
   <dc:title>The library element</dc:title>
   <dc:creator>Eric van der Vlist</dc:creator>
   <dc:subject>library, book, relax ng</dc:subject>
   <dc:description>This Relax NG schema has been written as an example to show how Dublin Core elements may be used.</dc:description>
   <dc:date>2003-01-30</dc:date>
   <dc:language>en</dc:language>
   <dc:rights>Copyright Eric van der Vlist, Dyomedea. 
 			 During development, I give permission for non-commercial copying for 
 			 educational and review purposes. 
 			 After publication, all text will be released under the 
 			 Free Software Foundation GFDL.</dc:rights>
   <start>
     <element name="library">
       <oneOrMore>
         <ref name="book-element"/>
       </oneOrMore>
     </element>
   </start>
   <define name="author-element">
     <element name="author">
       <attribute name="id"/>
       <ref name="name-element"/>
       <ref name="born-element"/>
       <optional>
         <ref name="dead-element"/>
       </optional>
     </element>
   </define>
   <define name="book-start">
     <attribute name="id"/>
     <ref name="isbn-element"/>
     <ref name="title-element"/>
     <zeroOrMore>
       <ref name="author-element"/>
     </zeroOrMore>
   </define>
   <define name="book-end">
     <zeroOrMore>
       <ref name="author-element"/>
     </zeroOrMore>
     <zeroOrMore>
       <ref name="character-element"/>
     </zeroOrMore>
     <attribute name="available"/>
   </define>
   <define name="book-element">
     <element name="book">
       <ref name="book-start"/>
       <ref name="book-end"/>
     </element>
   </define>
   <define name="born-element">
     <element name="born">
       <text/>
     </element>
   </define>
   <define name="character-element">
     <element name="character">
       <attribute name="id"/>
       <ref name="name-element"/>
       <ref name="born-element"/>
       <ref name="qualification-element"/>
     </element>
   </define>
   <define name="dead-element">
     <element name="dead">
       <text/>
     </element>
   </define>
   <define name="isbn-element">
     <element name="isbn">
       <text/>
     </element>
   </define>
   <define name="name-element">
     <element name="name">
       <text/>
     </element>
   </define>
   <define name="qualification-element">
     <element name="qualification">
       <text/>
     </element>
   </define>
   <define name="title-element">
     <element name="title">
       <attribute name="xml:lang"/>
       <text/>
     </element>
   </define>
 </grammar>
